﻿#include "mainwindow.h"
#include "./ui_mainwindow.h"
#include <QDir>
#include <QFileInfo>
#include <QMessageBox>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    ui->plainTextEditResult->setReadOnly(true);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButtonGetWorkPath_clicked()
{
    QString strWorkPath = QDir::currentPath();
    ui->lineEditWorkPath->setText(strWorkPath);
}


void MainWindow::on_pushButtonSetWorkPath_clicked()
{
    //获取单行编辑器里的路径
    QString strNewPath = ui->lineEditWorkPath->text();
    //判断字符串是否为空
    if(strNewPath.length() < 1)
    {
        return;
    }
    //判断路径是否存在
    QDir dirNew(strNewPath);
    QString strResult;  //操作结果显示
    if( dirNew.exists() )
    {
        //存在该路径，设置为工作路径
        bool bRes = QDir::setCurrent( dirNew.path() );
        if( !bRes )
        {
            //设置工作路径失败
            strResult = tr("设置工作路径为 %1 失败。").arg(strNewPath);
            QMessageBox::warning(this, tr("设置错误"), strResult);
        }
        else
        {
            //设置成功
            strResult = tr("设置工作路径成功，新的路径为：\r\n%1").arg( QDir::currentPath() );
        }
    }
    else    //新路径不存在
    {
        strResult = tr("设置工作路径为 %1 失败，该路径不存在！").arg(strNewPath);
        QMessageBox::warning(this, tr("路径不存在"), strResult);
    }
    //显示结果信息
    ui->plainTextEditResult->setPlainText(strResult);
}


void MainWindow::on_pushButtonEnvPaths_clicked()
{
    QString strWorkPath = QDir::currentPath();  //应用程序的工作目录
    QString strAppPath = QCoreApplication::applicationDirPath();//可执行程序目录
    QString strHomePath = QDir::homePath();     //用户的主文件夹
    QString strRootPath = QDir::rootPath();     //应用程序所在文件系统的根分区
    QString strTempPath = QDir::tempPath();     //操作系统里默认的临时文件目录

    //构造结果串
    QString strResult;
    strResult += tr("工作路径：%1\r\n").arg(strWorkPath);
    strResult += tr("可执行程序目录：%1\r\n\r\n").arg(strAppPath);
    strResult += tr("用户主文件夹：%1\r\n").arg(strHomePath);
    strResult += tr("系统根目录：%1\r\n").arg(strRootPath);
    strResult += tr("临时目录：%1\r\n").arg(strTempPath);
    //显示
    ui->plainTextEditResult->setPlainText(strResult);
}


void MainWindow::on_pushButtonShowAbs_clicked()
{

}


void MainWindow::on_pushButtonTestAbs_clicked()
{

}


void MainWindow::on_pushButtonTestExist_clicked()
{

}

